﻿<?php
/**
 * Classe GET/SET da tabela TB_EMPRESA
 * 
 * @author			Mário R. Castro
 * @copyright		Voitech Sistema
 * @package			SEMAS
 * @subpackage		semas.application.models.Db
 * @version			1.0
*/
class App_Model_Db_Empresa extends Voitech_Db{

	protected $_name 		= 'tb_empresa';
    protected $_primary 	= 'co_empresa';
	
	static private $instancia;

	/**
	 * @return App_Model_Db_Empresa
	 */
	static public function build() {
		if( !isset( self::$instancia ) ) {
			$classe = __CLASS__;
			self::$instancia = new $classe();
		}
		return self::$instancia;
	}
	public function listarTodos(Voitech_TO $obTO=null){
            $obSelect = $this->getAdapter()->select()
			            				   ->from(array('tb_empresa'=>'tb_empresa'),
			            				 		   array(
			            				 		   			'*',
			            				 		   			'fl_excluir' => '(CASE 
																			    WHEN (SELECT count(*) FROM tb_cemiterio WHERE tb_cemiterio.co_empresa = tb_empresa.co_empresa) > 0 THEN
																			    	\'N\'
																			    ELSE
																			    	\'S\'
																		  END)'
			            				 		   		));

            if( !empty( $obTO->co_empresa ) ) {
                $obSelect->where('co_empresa =?', $obTO->co_empresa);
            }
            if( !empty( $obTO->no_empresa ) ) {
                $obSelect->where('no_empresa like ?', "%".$obTO->no_empresa."%");
            }
	        if( !empty( $obTO->nu_cnpj ) ) {
                $obSelect->where('nu_cnpj like ?', "%".$obTO->nu_cnpj."%");
            }
            if( !empty( $obTO->st_status ) ) {
                $obSelect->where('st_status =?', $obTO->st_status);
            }
            return $this->getAdapter()->fetchAll($obSelect);			   						   
	}
		
}